#ifndef __PERIODO_CURSADA_H__
#define __PERIODO_CURSADA_H__

#include "MateriaPriorizada.h"

namespace modelo {

	class PeriodoCursada
	{
	public:
		PeriodoCursada(int numero, int maximoMaterias);
		~PeriodoCursada(void);

		void AgregarMateria(MateriaPriorizada* materia);
		bool ContieneMateria(string codigoMateria);

		/** Accesibilidad */
		list<MateriaPriorizada*> GetMateriasDelPeriodo() { return materiasDelPeriodo; }
		bool EstaSaturado(){return estaSaturado;}
		int GetNumeroPeriodo(){return numeroPeriodo;}

		void SetMateriasDelPeriodo(list<MateriaPriorizada*> materias) { materiasDelPeriodo = materias; }
		void EstaSaturado(bool saturado){estaSaturado = saturado;}
		void SetNumeroPeriodo(int numero){numeroPeriodo = numero;}

	private:
		int numeroPeriodo;
		int minimoMateriasPermitidas, maximoMateriasPermitidas;
		bool estaSaturado;
		list<MateriaPriorizada*> materiasDelPeriodo;
	};
}
#endif